package com.huawei.mock.device.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@NoArgsConstructor
@Data
public class ServiceCapabilitiesDTO {
    /**
     * service_id : temperature
     * service_type : temperature
     * properties : [{"property_name":"temperature","required":true,"data_type":"decimal","min":"1","max":"100","max_length":100,"step":0.1,"unit":"centigrade","method":"RW","description":"force","default_value":{"color":"red","size":1}}]
     * commands : [{"command_name":"reboot","paras":[{"para_name":"force","required":false,"data_type":"string","min":"1","max":"100","max_length":100,"step":0.1,"unit":"km/h","description":"force"}],"responses":[{"response_name":"ACK","paras":[{"para_name":"force","required":false,"data_type":"string","min":"1","max":"100","max_length":100,"step":0.1,"unit":"km/h","description":"force"}]}]}]
     * events : [{"event_type":"reboot","paras":[{"para_name":"force","required":false,"data_type":"string","min":"1","max":"100","max_length":100,"step":0.1,"unit":"km/h","description":"force"}]}]
     * description : temperature
     * option : Mandatory
     */

    @JsonProperty("service_id")
    private String serviceId;
    @JsonProperty("service_type")
    private String serviceType;
    @JsonProperty("properties")
    private List<PropertiesDTO> properties;
    @JsonProperty("commands")
    private List<CommandsDTO> commands;
    @JsonProperty("events")
    private List<EventsDTO> events;
    @JsonProperty("description")
    private String description;
    @JsonProperty("option")
    private String option;

}